using System;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("PowerTask")]
	public class PowerTask : MonoClass
	{
		public Network.PowerHistory m_power => method_3<Network.PowerHistory>("m_power");

		public bool m_completed => method_2<bool>("m_completed");

		public PowerTask(IntPtr address, string className)
			: base(address, className)
		{
		}

		public PowerTask(IntPtr address)
			: this(address, "PowerTask")
		{
		}

		public Network.PowerHistory GetPower()
		{
			return method_14<Network.PowerHistory>("GetPower", Array.Empty<object>());
		}

		public void SetPower(Network.PowerHistory power)
		{
			method_8("SetPower", power);
		}

		public bool IsCompleted()
		{
			return method_11<bool>("IsCompleted", Array.Empty<object>());
		}

		public void SetCompleted(bool complete)
		{
			method_8("SetCompleted", complete);
		}

		public void DoTask()
		{
			method_8("DoTask");
		}

		public void DoEarlyConcedeTask()
		{
			method_8("DoEarlyConcedeTask");
		}

		public new string ToString()
		{
			return method_13("ToString");
		}

		public string GetEntityLogName(Entity entity)
		{
			return method_13("GetEntityLogName", entity);
		}

		public string GetPrintableEntity(int entityId)
		{
			return method_12("GetPrintableEntity", new Class276.Enum20[1] { Class276.Enum20.I4 }, entityId);
		}

		public string GetPrintableEntity(Network.Entity netEntity)
		{
			return method_12("GetPrintableEntity", new Class276.Enum20[1] { Class276.Enum20.Class }, netEntity);
		}
	}
}
